//
//  main.cpp
//  日期类的实现
//
//  Created by 卜绎皓 on 2022/9/20.
//

#include"Date.hpp"

void TestDate1()
{
    Date d1(2021, 10, 11);//ok
    Date d2(2021, 2, 29);//err
    Date d3(2020, 2, 29);//ok
    Date d4(2020, 13, 29);//err
}
void TestDate2()
{
    Date d1(2021, 10, 11);
    Date ret;

    ret = d1 + 100;
    ret.Print();

    ret = d1 += 100;
    ret.Print();
    d1.Print();

    ret = d1 + -100;
    ret.Print();
}
void TestDate3()
{
    Date d1(2021, 10, 11);
    Date ret;

    ret = d1 - 11;
    ret.Print();

    ret = d1 -= 11;
    ret.Print();
    d1.Print();

    ret = d1 - -11;
    ret.Print();
}
void TestDate4()
{
    Date d1(2021, 10, 11);
    Date ret;

    ret = ++d1;
    ret.Print();
    d1.Print();

    ret = d1++;
    ret.Print();
    d1.Print();
}
void TestDate5()
{
    Date d1(2021, 10, 11);
    Date ret;

    ret = --d1;
    ret.Print();
    d1.Print();

    ret = d1--;
    ret.Print();
    d1.Print();
}
void TestDate6()
{
    Date d1(2023, 10, 11);
    Date d2(2022, 10, 11);

    cout << d1 - d2 << endl;
    cout << d2 - d1 << endl;
}
int main()
{
    //TestDate1();//日期合法
    TestDate2();//+、+=、+ -(负)
    //TestDate3();//-、-=、- -(负)
    //TestDate4();//++x、x++
    //TestDate5();//--x、x--
    //TestDate6();//d1 - d2
    return 0;
}

